#define _CRT_SECURE_NO_WARNINGS 1
//排序子序列
//https://www.nowcoder.com/questionTerminal/2d3f6ddd82da445d804c95db22dcc471?answerType=1&f=discussion

#include <iostream>
#include<vector>
using namespace std;

int main() {
    int n = 0;
    cin >> n;
    vector<int>v;
    v.resize(n + 1);//多开一个防止越界
    v[n] = 0;//数据范围是1<=n<=10^5，0比最小的还小，不影响比较
    for (int i = 0; i < n; i++)
    {
        cin >> v[i];
    }
    //初始化完成
    int i = 0, count = 0;
    while (i < n)
    {
        //非递减序列
        if (v[i] < v[i + 1])
        {
            //i<n是为了防止i走到n导致越界
            while (i < n && v[i] <= v[i + 1])
            {
                i++;
            }
            //退出while那么一定走到了边界
            count++;
            i++;
        }
        else if (v[i] == v[i + 1])
        {
            i++;//相同不影响直接跳过
        }
        //非递增序列
        else
        {
            //i<n是为了防止i走到n导致越界
            while (i < n && v[i] >= v[i + 1])
            {
                i++;
            }
            //退出while那么一定走到了边界
            count++;
            i++;
        }
    }
    cout << count << endl;
    return 0;
}

